package com.stone.starter.core.util.thread;

import java.util.UUID;

/**
 * 异步任务
 *
 * @param <T> 任务返回值类型
 * @author Mr_wenpan@163.com 2021/11/30 10:35 上午
 */
public interface AsyncTask<T> {

    /**
     * 任务名称
     *
     * @return java.lang.String
     * @author Mr_wenpan@163.com 2021/11/30 10:35 上午
     */
    default String taskName() {
        return UUID.randomUUID().toString();
    }

    /**
     * 执行方法
     *
     * @return T 方法返回值类型
     * @author Mr_wenpan@163.com 2021/11/30 10:36 上午
     */
    T doExecute();
}